package com.peas.platform.module.icims.expenditure.expenses.controller.vo;

import com.peas.platform.common.core.annotation.Comment;
import com.peas.platform.common.core.vo.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel("报账单收款方信息")
public class ExpenditureReimbursementPayeeVo extends BaseVo {

    // （报账单表）外键
    @Comment(value = "报账单ID")
    @ApiModelProperty(value = "报账单ID")
    private Long expenditureReimbursementId;

    // 收款单位、公务卡
    @Comment(value = "收款类型", enumType = "ExpenditureReimbursementPayeeType")
    @ApiModelProperty(value = "收款类型", notes = "枚举取值:ExpenditureReimbursementPayeeType")
    @Size(max = 20, message = "收款类型不能超过20个字符")
    private String payeeType;

    // （收款单位表）外键
    @Comment(value = "收款单位ID")
    @ApiModelProperty(value = "收款单位ID")
    private Long expenditureProceedsId;

    @Comment(value = "收款单位名称")
    @ApiModelProperty(value = "收款单位名称")
    @Size(max = 200, message = "收款单位名称不能超过200个字符")
    private String proceedsCompany;

    @Comment(value = "收款银行")
    @ApiModelProperty(value = "收款银行")
    @Size(max = 200, message = "收款银行不能超过200个字符")
    private String proceedsBank;

    @Comment(value = "收款账号")
    @ApiModelProperty(value = "收款账号")
    @Size(max = 200, message = "收款账号不能超过200个字符")
    private String proceedsAccount;

    // （用户公务卡信息表）外键
    @Comment(value = "公务卡持卡人用户ID")
    @ApiModelProperty(value = "公务卡持卡人用户ID")
    private Long expenditureBusinessCardId;

    @Comment(value = "公务卡持卡人")
    @ApiModelProperty(value = "公务卡持卡人")
    @Size(max = 200, message = "公务卡持卡人不能超过200个字符")
    private String businessCardName;

    @Comment(value = "公务卡开户银行")
    @ApiModelProperty(value = "公务卡开户银行")
    @Size(max = 200, message = "公务卡开户银行不能超过200个字符")
    private String businessCardBank;

    @Comment(value = "公务卡号")
    @ApiModelProperty(value = "公务卡号")
    @Size(max = 200, message = "公务卡号不能超过200个字符")
    private String businessCardAccount;

    @Comment(value = "摘要")
    @ApiModelProperty(value = "摘要")
    private String payeeSummary;

}
